修改权限用户密码(set password for/UPDATE/ALTER/GRANT)

Exisi 2023-01-24 20:19:45
Categories: Tags:
  • MySQL中,有四种方式可以修改权限用户的密码
    • 使用set password for命令
    • 使用UPDATA语句
    • 使用ALTER语句
    • 使用 GRANT 语句

 

 

使用 set password for 命令 

  • MySQL 中,只有 root 用户可以通过更新 MySQL 数据库来更改密码。使用 root 用户登录到 MySQL 服务器后,可以使用 SET 语句来修改普通用户密码

语法

set password for '用户名'@'IP地址' = password('新密码')

示例

mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd");

 

Query OK, 0 rows affected, 1 warning (0.01 sec)

 

 

 

使用 UPDATE 语法

 使用update语法修改直接mysql.user中的密码字段

语法

 

UPDATE user SET authentication_string = password('新密码') WHERE user = '用户名' AND host = 'IP地址'

示例

mysql> USE mysql;

mysql> UPDATE user SET password = password('123') WHERE user = 'root' AND host = 'localhost'; 

Query OK, 0 rows affected,1 warning (0.27 sec)

 

mysql> flush privileges; 

Query OK, 0 rows affected (0.03 sec)

 

 

使用 ALTER 语法

  • 使用ALTER对数据表中的密码字段进行修改

语法

ALTER USER '用户名'@'IP地址' IDENTIFIED WITH mysql_native_password BY '密码'

示例

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected,1 warning (0.27 sec)

 

mysql> flush privileges; 

Query OK, 0 rows affected (0.03 sec)

 

 

 

使用 GRANT 语句

  • 还可以在全局级别使用 GRANT USAGE 语句指定某个账户的密码而不影响账户当前的权限。需要注意的是,使用 GRANT 语句修改密码,必须拥有 GRANT 权限。一般情况下最好使用该方法来指定或修改密码

语法

GRANT USAGE ON *.* TO '用户名'@IP地址 IDENTIFIED BY '新密码'

示例

mysql> GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY 'newpwd3';

 

Query OK, 0 rows affected, 1 warning (0.05 sec)

 

  • 由运行结果可以看出,密码修改成功。